Technical Field
This disclosure relates generally to processing video input for display, and more specifically to methods for switching between different video processing pipelines or modes.
Description of the Related Art
Various computing devices including but not limited to personal computer systems, desktop computer systems, laptop and notebook computers, tablet or pad devices, and mobile phones or smart phones may include an apparatus (e.g., an integrated circuit (IC), such as a system-on-a-chip (SOC), or a package such as a multi-chip module (MCM)), as well as software such as drivers that program or control the hardware, that may receive and process video input from one or more sources and output the processed video to one or more displays. In addition, other graphical input (e.g., graphical user interface (GUI) elements) may be processed and output to the displays. A display to which the processed graphical information is output may be integrated in the computing device or external to the computing device. The apparatus may include multiple functional blocks or units, as well as external interfaces to, for example, external memory, video input sources, and display(s). Typically, the blocks include a display controller that includes one or more display pipelines that each may render graphical input and send the rendered graphical information to a separate display. In addition, the apparatus may include one or more blocks such as video decoders and processors including but not limited to graphics processing units (GPUs) that may be used to perform at least some processing/rendering of the graphical input (e.g., video frames), such as format conversion, window compositing, blending, scaling, and/or color correction, before sending the graphical information (e.g., at least partially processed video frames) to a display pipeline of the display controller for output to a display.
Typically, raw video is received in a format that is not directly compatible with the display device. In addition, the display controller may not accept the raw video format as input. For example, a common video format is 1080p (1920×1080 pixels, 2.1 megapixels) encoded in YUV420. However, display devices generally expect RGB input, which is typically four bytes per pixel with three color channels (red, green, blue) and one alpha channel. In addition, screen size in pixels of the display device may be larger than the video format, for example 2880×1800 pixels. Many display controllers may accept video frames in RGB or YUV422 encoding, but not in YUV420 encoding. Thus, generally, at least some processing of input video is performed by the apparatus to convert the video input into a display-compatible format before outputting the video frames to the display device for display.